ci(aarch64): 去掉三处工作区 pin —— 它选中的不是旧构建器,而是不存在的那个 - #389
Merged
Conversation
`ci-aarch64-fresh-install` 的自举步骤自 2026-08-06 起每次都挂:
self-hosting … @ 55a39d9
[error] xlings: version '2026.8.6.2' not found for 'mcpp'
[error] available: 2026.8.8.2
checkout 里的 `.xlings.json` 声明 `workspace.mcpp` —— **bootstrap pin,按设计
不随发布走**。它作用于当前目录、压过任何已安装版本,而这个 job 只跑
`xlings install mcpp`(裸名=latest),bootstrap 版本在这台 runner 上从来不存在。
所以「遵守 pin」并不是选了个旧构建器,而是选了个没有的。
「最新发布 ≠ bootstrap pin」是**常态**,所以两者一分叉它就必挂;它又是周更,
没有任何东西指向它。`install_released_mcpp.sh` 的第 1 条正是为此写的,只搬到了
x86_64 那几条腿。
同一缺陷在这个文件里**推导了三处**:
1. 自举步骤在 `/tmp/mcpp-src` 里的两次 shim 调用 → 移除该克隆的 pin
2. `mcpp self env` 原本在 `cd /tmp/xlings-src` **之后**才求值 —— 而 xlings 仓库
自己也带 pin(`workspace.mcpp = 2026.8.6.1`)。只修第 1 处会把失败推到下一行,
而且死在「could not determine MCPP_HOME」这个与真因无关的守卫上。改为在 cd
之前求值(那时 cwd 的 pin 已移除),不去动别人仓库的文件。
3. PR 回归门 checkout 之后的 `mcpp build` —— 同一形状,今天任何 PR 都会挂
改动只在 workflow;本 PR 触碰该文件即触发 `pull_request`,自带验证。
Member
Author
先否掉一个诱人的假修法:抬 bootstrap pin看到
真因是这个 job 从不安装 pin 指向的版本(只跑 |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
2026.8.8.4 发版后跑生态验证时抓到的:
ci-aarch64-fresh-install的自举步骤自 2026-08-06 起每次都挂。根因
checkout 里的
.xlings.json声明workspace.mcpp—— bootstrap pin,按设计不随发布走。它作用于当前目录、压过任何已安装版本;而这个 job 只跑xlings install mcpp(裸名=latest),bootstrap 版本在这台 runner 上从来不存在。所以「遵守 pin」不是选了个旧构建器,而是选了个没有的。「最新发布 ≠ bootstrap pin」是常态,所以两者一分叉它就必挂 —— 它又是周更,没有任何东西指向它。
install_released_mcpp.sh的第 1 条正是为此写的,只是只搬到了 x86_64 那几条腿。同一缺陷推导了三处
/tmp/mcpp-src的两次 shim 调用mcpp self env在cd /tmp/xlings-src之后求值 —— xlings 仓库自己也带 pin(2026.8.6.1)mcpp build第 2 处值得单独说:只修第 1 处会把失败推到下一行,而且死在
could not determine MCPP_HOME这个与真因无关的守卫上 —— 断言只说「失败了」而不说原因,等于没有断言。改为在 cd 之前求值,不需要去动 xlings 仓库的文件。范围
只改 workflow,不动产物。本 PR 触碰该文件即触发
pull_request(paths 过滤命中),所以修复自带验证 —— 而且这次 PR 门(步骤 9–11)会真的跑起来,那是第 3 处修好才可能的。发布件本身在 aarch64 上是过的:同一次运行里步骤 3–7 全绿,含原生构建并运行
import std程序。